Configuration limits
Volume limits
-
Maximum NVMe-of targets per bolt node:
The Bolt CSI driver sets themax_volumes_per_node
to0
, which means that the control plane does not limit the number of volumes that can be provisioned per node. DataCore Bolt limits the number of NVMe-oF targets to 110 (max_nvmf_target_per_node = 110
) which can be created by a single io-engine pod. The targets are used to present both volumes to worker nodes and replicas to their associated volumes. Therefore, the total number of volumes a single DataCore Bolt pod can present is dynamic, being determined by how this resource limit is distributed between those two entities. -
Maximum NVMe-of targets in bolt cluster:
This is the product of the number of storage nodes in the cluster, and the maximum number of targets per node (max_cluster_nvmf_targets = num_nodes x max_nvmf_target_per_node
).Minimum or maximum volume size:
The maximum size of a volume is equal to the available size in the host pool minus the metadata size, which is 4 MiB. The minimum configurable size of a Bolt volume is 4 MiB. At provisioning time, volumes adopt allocated sizes which are multiples of 4 MiB. -
Maximum replica count per volume:
There is no limit set on the replica count of a volume, other than by the availability of storage resources on the cluster. The default count is one. However, as the replica count of a volume increases, replication latency increases.
Deployment limits
-
Minimum supported worker nodes per cluster:
The minimum supported worker node count for a default installation of DataCore Bolt is three, assuming that CPU and memory resource requirements are met. This can be scaled up to any number according to the use case of the deployment. -
Maximum io-engine containers:
Only one Bolt container is supported per node. io-engine instances are deployed using adaemonset
so each worker node with the appropriate label will have a Bolt container. -
Maximum bolt deployments per Kubernetes cluster:
Bolt supports only a single deployment per cluster.